﻿using System;
using System.Collections.Generic;

namespace YFurion.DataFilters
{
    public interface IDataFilter
    {
        IReadOnlyList<DataFilterConfiguration> Filters { get; }

        IDisposable EnableFilter(params string[] filterNames);

        IDisposable DisableFilter(params string[] filterNames);

        bool IsFilterEnabled(string filterName);

        bool HasFilter(string filterName);

        IDisposable SetFilterParameter(string filterName, string parameterName, object value);
    }
}
